/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores;

import flexjson.JSONSerializer;
import java.util.List;

/**
 *
 * @author RENZO
 */
public abstract class BaseControlador {
    
    public static String mensajeOK = "La accion se realizo correctamente";
    public static String mensajeError = "Hubo un error al tratar de ejecutar el servicio";
    
    public abstract String processGETRequest(String peticion,List<RequestParam>params) throws  Exception;
    
    public abstract String processPOSTRequest(String peticion,List<RequestParam>params) throws Exception;
    
    public String sendMensajeOK(RequestParam param){
        return "";
    }
    
    public String sendMensajeOK(Object serviceEntitie,String recurso,String httpMethod){
         ResponseFormat response = new ResponseFormat("OK", serviceEntitie, httpMethod, recurso,mensajeOK);
         return new JSONSerializer().exclude("*.class").deepSerialize(response);
    }
    
    public String sendMensajeOK(){
        String mensaje_defecto = "La accion se ejecutó correctamente";
        ResponseFormat response = new ResponseFormat("OK", "", "", mensaje_defecto);
        return new JSONSerializer().exclude("*.class").deepSerialize(response);
    }
    
    public String sendMensajeError(RequestParam param){
         return "";
    }
    
    public String sendMensajeError(String error){
        ResponseFormat response = new ResponseFormat("ERROR", "", "", error);
        return new JSONSerializer().exclude("*.class").deepSerialize(response);
    }
    
    public String sendMensajeError(){
        String mensaje_defecto = "Se produjo un error al tratar de ejecutar la solicitud";
        ResponseFormat response = new ResponseFormat("ERROR", "", "", mensaje_defecto);
        return new JSONSerializer().exclude("*.class").deepSerialize(response);
    }
}
